import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        int n=scanner.nextInt();
        int x=-1;//满足条件的次数
        int []arr=new int[n];
        boolean flg1=false;
        int sum=0;//用于记录初始有多少个1
        for(int i=0;i<n;i++){
            int temp=scanner.nextInt();
            if(temp==1){
                sum++;
                flg1=true;
            }
            arr[i]=temp;
        }
        if(flg1){
            x=n-sum;
        }
        else {
            boolean flg2=false;
            for (int i = 0; i <n ; i++) {
                int j=i+1;
                if(j<n){
                    if(iferz(i,j)){
                        flg2=true;
                    }
                }
            }
            if(flg2){
                x=n+1;
            }
            else{
                x=n+2;
            }
        }
        System.out.println(x);
    }
    public static boolean iferz(int x,int y){//判断两个数是否互为质数
        int ret=Math.min(x,y);
        int temp=0;//记录最小公约数
        for (int i = ret; i >0 ; i--) {
            if(x%i==0&&y%i==0){
                temp=i;
            }
        }
        if(temp==1){
            return true;
        }
        return false;
    }
}